﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using NUnit.Framework;

namespace Working.Domínio.Teste
{
    [TestFixture]
    public class TesteEndereço
    {
        [Test]
        public void TestaConstrutor()
        {
            Endereço endereço = new Endereço();
            Assert.AreEqual(string.Empty, endereço.Logradouro);
            Assert.AreEqual(string.Empty, endereço.Número);
            Assert.AreEqual(string.Empty, endereço.Complemento);
            Assert.AreEqual(string.Empty, endereço.Bairro);
            Assert.AreEqual(string.Empty, endereço.Referência);
            Assert.AreEqual(null, endereço.Cidade);
            Assert.AreEqual(null, endereço.Estado); 
        }

        [Test]
        public void TestaPropriedades()
        {
            Endereço endereço = new Endereço();

            //Define valores das propriedades
            string logradouro = "Rua Conde de Prados";
            string número = "419";
            string complemento = "apto. 302";
            string bairro = "Padre Eustáquio";
            string referência = "Próximo a Via Expressa";
            Cidade cidade = new Cidade("Belo Horizonte");
            Estado estado = new Estado("Minas Gerais", "MG");

            //Atribui valores
            endereço.Logradouro = logradouro;
            endereço.Número = número;
            endereço.Complemento = complemento;
            endereço.Bairro = bairro;
            endereço.Referência = referência;
            endereço.Cidade = cidade;
            endereço.Estado = estado;

            //Verifica integridade
            Assert.AreEqual(logradouro, endereço.Logradouro);
            Assert.AreEqual(número, endereço.Número);
            Assert.AreEqual(complemento, endereço.Complemento);
            Assert.AreEqual(bairro, endereço.Bairro);
            Assert.AreEqual(referência, endereço.Referência);
            Assert.AreEqual(cidade, endereço.Cidade);
            Assert.AreEqual(estado, endereço.Estado);
        }
    }
}
